﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using KandaAlpha.Domain.Repository;
using KandaAlpha.Domain.Model.Entities;
using System.Linq.Expressions;

namespace KandaAlpha.UI.Mvc.Tests
{
    public class GenericRepository<T> : IGenericRepository<T> where T : EntityBase
    {


        public virtual T Load(Expression<Func<T, bool>> whereCondition)
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        public virtual IQueryable<T> GetQuery()
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        /// <summary>
        /// Provides explicit loading of object properties (EF v4.0 feature)
        /// </summary>
        public virtual void LoadProperty(T entity, Expression<Func<T, object>> selector)
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        public virtual List<T> GetAll()
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        public virtual void Add(T entity)
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        public virtual void Update(T entity)
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

        public virtual void Delete(T entity)
        {
            throw new NotImplementedException("Haven't done this yet sorry!");
        }

    }
}
